<?php
namespace app\api\extra;
/*
 * content : 帮助类，版本号：v1.0
 * Author  : Songyicong 
 * time    : 2018-04-19 14:49:27 
 * email   : m13726262373@163.com 
 */
use think\Env;

class Utils{

    /** 生成二维码 */
    public static function getQrCode($str){
        // include 'phpqrcode.php';
        // $value = $str; //二维码内容
        // $errorCorrectionLevel = 'L';//容错级别
        // $matrixPointSize = 8;//生成图片大小
        // return \QRcode::png($value);
    }

    /** 
     * 生成open_id 
     * open_id : access_token+"_"+user_id+"_"+auth_num值+接口文档设置的值 
     */
    public static function getOpenId($assecc_token="",$user_id="",$auth_num=""){
        // 获取open_str:access_token+用户id+权限值+系统定义的种子+当前的时间戳
        $open_str = $assecc_token.'_'.$user_id.'_'.Env::get("open_seed").'_'.$auth_num.'_'.time();
        // $open_str = $assecc_token.'_'.$user_id.'_'.time();
        if(strlen($open_str)<67){
            // 32 + 1 + 8 + 1 + 8 + 1 + 5 + 1 + 10 = 67 位
            $open_str.="_0000000000000000000000000000000000000000000000000000000000000000000";
            $open_str = substr($open_str,0,68);
        }
        // 加密
        return encrypt($open_str,data_auth_sign(Env::get("open_seed")));
    }

    /** 生成access_token  */
    public static function getToken($appid="",$secret=""){
        // 通过 appid + secret + open_seed +time() 生成 二次md5值
        return md5(md5($appid.$secret.Env::get("open_seed").time()));
    }

    /** app_secret 生成器 */
    public static function getSecret($password = "", $key = ""){
        $key = empty($key)?Env::get('seed_password'):$key;
        return md5(md5($password.time().$key));
    }

    /** appid生成器 */
    public static function getAppId($user_name="",$key=""){
        $key = empty($key)?Env::get('seed_password'):$key;
        return md5(md5($user_name.time().$key));
    }
}
